==================================================================== 2024-07-07 Opravy důležitých chyb: ----------------------------- - Při zobrazování rotujících GPS souřadnic přes menu (položka "GPS") se u zeměpisné délky nesmyslně odečítalo 500 milióntin stupňů. Jedná se ale jen o zobrazení na dispeji. V měřících záznamech jsou přesné souřadnice, které odesílá GPS modul. (Byl to pozůstatek odečítání 500m nadmořské výšky, které bylo později přesunuto na sousední pozici v podmenu, ale odečet tam zůstal.) - Zobrazování zeměpisných souřadnic ve funkci "@G" mohlo být vzhledem k nepřesným "FLOAT" výpočtům o několik milióntin stupňů posunuté. I tady se ale jedná jen o zobrazení. V měřících záznamech se chyba neprojevila. Opraveno na přesné celočíselné výpočty. - Ve funkcích pro zadávání domácích souřadnic ("@Gd fff.f" a "@Gs ff.f") se provádělo špatně zaokrouhlování na 1 desetinné místo. - Funkce nastavení oddělovačů položek v CSV souborech měla nastaven znak příkazu na velké "O". Ve všech nápovědách ale bylo uvedeno malé 'o'. Znak byl proto sjednocen na malé 'o'. Příklad: Příkaz pro nastavení oddělovačů na středník byl původně "#OO;", nově je nastaven na "#Oo;", což odpovídá nápovědě. - Po nastavení nových oddělovačů položek v CSV souborech se změna neprojevila okamžitě, ale až ve druhém výpisu. Při prvním výpisu se v hlavičce zachovávaly ještě původní oddělovače položek. Problém se týkal pouze hlavičky. Oddělovače uvnitř záznamů byly v pořádku už při prvním výpisu. Nové funkce: ----------------------------- - Přes menu (položka "GPS") je možné současným dlouhým stiskem tlačítek [nahoru] a [dolu] nastavit domácí souřadnice pro astronomické výpočty podle souřadnic získaných z GPS. Ruční nastavení pomocí funkcí "@Gd" pro zeměpisnou délku a "@Gs" pro zeměpisnou šířku zůstává zachováno. Nevýznamné opravy / úpravy: ----------------------------- - Všechny texty "mag/arcsek2" nahrazeny za "mag/arcsec2". (Chvíli jsem uvažoval o tom, že bych ty popisy zavedl volitelně jako jazykovou verzi, ale nakonec jsem to nechal natvrdo po anglicku.) - V odpovědi po změně SLAVE adresy chybělo odřádkování. - Změna směru šipky ve funkci "@W". Nyní je zřetelnějí, že nová hodnota (16) nahrazuje tu původní (5): puvodni: EEPROM[589] = 5 <- 16 - Funkce pro přímé zápisy do EEPROM ("@W") a přímé čtení z EEPROM ("@R") byly upraveny tak, aby při zadání čísla nad povolenou mez automaticky ořezávaly přebytečné vyšší bity. Spodní bity zůstávají beze změny: adresa &= 0x1FFFF; data &= 0xFF; ==================================================================== 2024-04-01 Opravy důležitých chyb: ----------------------------- - Když byla funkcí "#U nnn" nastavena úroveň maximálního jasu pro ukládání záznamů do EEPROM, měl se na SD kartu pořád ukládat každý záznam bez omezení. Ve skutečnosti se ale do CSV souboru na SD kartu při změřeném vyšším jasu, než byla nastavená úroveň, kopíroval předchozí záznam s posledním změřeným podúrovňovým (tmavším) jasem. V této verzi je to opraveno a na SD kartu se už opravdu ukládá každý záznam (i jasnější) bez omezení. - Když se v kódu zakázalo používání SD karty nešel program zkompilovat. Problém byl s později doplňovanými funkcemi pro logování a zálohování, které jsem vždycky testoval s povolenou kartou a neuvědomil jsem si, že při jejím zákazu se nepřiliknují její ovladače (knihovny). Nově jsou logovací a zálohovací podprogramy při zakázání používání SD karty automaticky vypnuté. Jinými slovy: Zakomentováním řádky číslo 33 v souboru "hlavni.ino" (//#define pouzivat_SD_kartu ...) se zruší i všechny logovací a zálohovací funkce, které SD kartu ke své činnosti potřebují. -Podobný problém byl i při zakázání displeje a použití pouze signalizační LED (//#define displej_TM1637_5 ; #define signal_LED). Některé později přidané funkce používaly displej automaticky a když byl zakázaný, tak chyběly zobrazovací podprogramy. Opraveno tak, že lze verzi se signalizační LED už bez problémů zkompilovat. Tuto verzi ale budu ještě důkladněji testovat. Nové funkce: ----------------------------- - Před kompilací je možné zvolit, jestli se přes komunikační linku RS485 bude komunikovat původním způsobem, nebo klasickým modbusem. Volba se provádí zrušením komentáře na řádce 25 v souboru "hlavni.ino" (//#define pouzit_modbus ...) Je nutné nainstalovat upravenou knihovnu "Modbus-Master-Slave-for-Arduino-AstroMiK" - je v příloze ("ModbusRtu_AstroMiK.h"). Transfer list pro modbus byl také doplněn do příloh programu ("modbus_tl.xls"). - Nepřesně nalepený kompas (modul LSM303) je možné doladit pomocí konstanty v programu (soubor "hlavni.ino", řádka 85): #define kompas_offset +0.0 // pripadne doladeni azimutu pri nepresne nalepenem cidle LSM303 .... Nevýznamné opravy / úpravy: ----------------------------- - Když nebylo povolené ukládání "control registru" čidla světla (//#define ukladat_contr_reg ...), mazal jsem ve výpisu CSV souboru navíc i informace o "full" a "infra" složce měřeného světla. Nemůžu si ale vůbec vzpomenout, proč jsem ty sloupce v textovém výpisu vlastně mazal. Od této verze byly sloupce "infra" a "full" (při zakázaném ukládání control registru) do textových výpisů zase vráceny. - Ve výpisech do sériové linky se původně odesílalo v několika případech jen ('\n'). Některé sériové terminály s tím ale mají problém a proto byly doplněny ještě znaky ('\r'). Nově se tedy odesílá + ("\r\n"). - Když je nastaveno automatické měření, blikne po zapnutí napájení nápis "Auto" - V nápovědě byl špatný znak u funkce "zmer plosny jas" (původní 'l ... ' nahrazeno správným 'j ... ') - Zaokrouhlování záporných hodnot náklonu bylo špatně. Zaokrouhlovalo se tak, jako by to bylo kladné číslo - přičtením +0,5 a oseknutím desetinné části. (v záporných náklonech to mohlo způsobit rozdíl maximálně 1°) ==================================================================== 2023-12-03 Opravy důležitých chyb: ----------------------------- - Když bylo v programu nastaveno, že se nemají k záznamům ukládat GPS souřadnice (//#define ukladat_GPS), zároveň se tím zablokovaly i ostatní GPS funkce, které byly pro další části programu důležité (nastaveí času, astro výpočty...) Nevýznamné opravy / úpravy: ----------------------------- - Za určitých (nepravděpodobných) okolností mohlo dojít při listování v menu tlačítkem [nahoru] k podlistování pod nultou položku (pod položku "List"). ==================================================================== 2023-11-03 Opravy důležitých chyb: ----------------------------- - Pokud bylo zobrazené menu a zároveň došlo k automatickému časovanému měření, displej správně zhasnul, aby neovlivňoval měření, ale po skončení měření zůstal zhasnutý. Rozsvítil se až po přelistování na další položku menu (tlačítkem [nahoru] nebo [dolu]). Po opravě se po ukončení měření zobrazí znovu aktuálně nalistovaná položka menu. Nevýznamné opravy / úpravy: ----------------------------- - Od verze z 24.9.2023 se ve výpisu informací o čase v RTC (funkce #I) v několika místech nesmyslně doplňovaly i aktuální značky časových zón za časem, který byl zobrazený v UTC: ("Cas v RTC bez korekci (UTC): 25.10.2023 18:56:37 St SELC"). - Snížení odběru proudu z průměrných 28mA na 23mA (při napájení 9V, bez zapnuté GPS se zhasnutým displejem s 2-minutovým automatickým záznamem). - Unikátní ID zařízení je už opravdu unikátní 96-bitový kód. Přebírá se přímo z identifikace procesoru STM32F103. Dříve to bylo jen v podstatě náhodné číslo, které bylo závislé na prvním měření světla a které se dalo dokonce přepsat zápisem do EEPROM. ==================================================================== 2023-10-22 Opravy důležitých chyb: ----------------------------- - Při pokusu o zápis hodnot do EEPROM nad adresu 65535 se hodnoty ve skutečnosti ukládaly do spodní části EEPROM od adresy 0. Přišel jsem na to až při praktickém používání po zaplnění poloviny EEPROM. Nevýznamné opravy / úpravy: ----------------------------- - doplnění dalších událostí k logování do souboru SYS_LOG.TXT: Kromě změny obsahu buněk EEPROM na adresách 0 až 699 a logování zapnutí napájení (značka "999,001"), které bylo zprovozněno v předchozích verzích, se nově logují ještě události: 999,002 - SW reset (záměrné přetečení WD) 998,nnn - chyba (nnn= kód chyby) 997,nnn - nnn = "000" nebo "001": zapnutí nebo vypnutí GPS (logika se může lišit podle typu HW) 996,nnn - výstraha poklesu napětí baterie pod některou z 'nnn' mezí 995,001 - odpočtový alarm aktivován - Změna nápisů na displeji při chybách, aby na první pohled bylo zřejmé, o jakou chybu se jedná: původní nápis "Err-1" nahrazen nápisem "Err-i" (chyba 'I'2C komunikace) původní nápis "Err-2" nahrazen nápisem "Err-6" (chyba 'G'PS - znak "6" zastupuje znak "G") původní nápis "Err-3" nahrazen nápisem "Err-r" (chyba 'R'TC - vnitřní hodiny) původní nápis "Err-4" nahrazen nápisem "Err-5" (chyba kalibrace 'S'větla - znak "5" zastupuje znak "S") původní nápis "Err-5" nahrazen nápisem "Err-t" (chyba kalibrace 'T'eploty) ==================================================================== 2023-09-24 Úpravy programu pro možnost použití vnitřní GPS (vyžaduje nové desky "SQM-BAS-5" a "SQM-GPS-5" a větší krabičku). Doporučuji použít i novou desku "SQM-DIS-3", na které je opraven popis špatně polarizovaného kondenzátoru C1. Testovací funkce, které nejsou při běžném používání potřeba, byly zrušeny. Nyní jsou součástí zvláštního testovacího programu "test_hw.ino", pomocí kterého je možné testovat i další HW součásti (EEPROM, pískák, SD kartu, čidla, tlačítka ...). - při použití vnitřní GPS se mění logický stav pinu, který testuje zasunutí externí GPS nebo zapnutí vnitřní GPS. Volba externí, nebo vnitřní GPS se musí provést ještě před kompilací programu na řádkách: #define internal_GPS true // odkomentovat v pripade pouziti vnitrni GPS //#define internal_GPS false // odkomentovat v pripade, ze vnitrni GPS pouzita nebude (zustava moznost externi GPS) Opravy důležitých chyb: ----------------------------- - Při měření hodnot vysokého jasu se špatně automaticky vybírala citlivost čidla světla (parametr 'AGAIN'). Chyba se projevovala asi do 12 mag/arc/sek2. Při větší tmě, když byla nastavená maximální citlivost (9876x), už bylo měření v pořádku. Nové funkce: ----------------------------- - Systémové parametry (obsah EEPROM od adresy 0 do adresy 699) je možné zazálohovat na SD kartu jako textový soubor příkazem "@Z". Zálohuje se do čitelného textového souboru "SYS_MEM.TXT". Soubor obsahuje 2 sloupce čísel oddělené středníkem. První číslo je adresa EEPROM, druhé číslo je obsah paměťové buňky. Obě čísla jsou uložena s povinnými úvodními nulami. Podobně se pak dají takto zazálohované parametry z SD karty obnovit příkazem "@O". Záměrně se neobnovuje: - časová kalibrace (adresy 0 až 7) - unikátní identifikační číslo (adresy 12 a 13) - záchytný bod pro rychlejší hledání volného místa pro data (adresa 18) - ten se po obnovení nastaví na 0. - Experimentální funkce pro komunikaci s programem "Unihedron Device Manager". Je to jen testovací funkce, která do programu odešle poslední naměřené hodnoty jasu a teploty. Zároveň odesílá i identifikační řetězec, při kterém si program "Unihedron Device Manager" myslí, že komunikuje s originálním SQM-LE. Jedná se ale jen o příkazy "rx", "R" a "ix". S ostatními příkazy si SQM neporadí. Hodnoty se přenáší přes USB do grafu v programu. Tato funkce je jen testovací a pravděpodobně nebude dále rozvíjena. Funkci je možné jednoduše vypnout ještě před kompilací a ušetřit místo v PROGMEM procesoru STM32F103. - Funkce pro logování změn v systémových parametrech do textového souboru na SD kartě. Z tohoto dokumentu lze pak například zjistit, jaké bylo nastaveno průměrování, kdy se zapínalo automatické měření, kdy se měnilo nastavení časové zóny a spoustu dalších informací. Nevýznamné opravy / úpravy: ----------------------------- - Ve výpisu informací o GPS (příkaz "@G" přes sériovou linku) se zobrazí navíc informace o typu GPS (Interní / Externí) a verze GPS programu. - Při vypnuté interní GPS vrací na požadavek "@G" hlášení: "GPS-OFF". Dříve mohly ve výpisu zůstávat nějaké staré hodnoty z doby, kdy byla GPS zapnutá (například počet zafixovaných satelitů). - Ve výpisu systémových informací byly souřadnice pro astro výpočty (GEOlat a GEOlon) omezeny jen na 1 desetinné místo. - Při výpisu času do sériové linky (funkce 'c') přidáno i 4-znakové označení časové zóny. Nově se tedy vypisuje čas v takovémto formátu: 10.9.2023 17:58:12 Ne SELC - Před kompilací je kvůli úspoře místa v PROGMEM možné úplně vypnout některé málo používané funkce. Zatím se ještě všechno do PROGMEM vejde, ale kdyby se v budoucnu ještě nějaké funkce přidávaly, tak už by paměť nemusela dostačovat Zrušením zakomentování řádky se příslušná funkce vypne. Funkce na zakomentovaných řádkách zůstávají aktivní: //#define omezeni_funkci_1 // toto omezeni zrusi moznost kalibrace urovni bat_level po spojeni bocnich pinu PA13(SWDIO) a 3V3 //#define omezeni_funkci_2 // toto omezeni zrusi logovani nastaveni vnitrniho RTC (funkce "@>" a "@/") //#define omezeni_funkci_3 // toto omezeni zrusi experimentalni komunikaci s programem od Unihedronu (prikazy "rx", "R" a "ix") //#define omezeni_funkci_4 // toto omezeni vypne logovani zmen systemovych parametru na SD kartu //#define omezeni_funkci_5 // toto omezeni zrusi funkce expanzni desky pro vice cidel //#define omezeni_funkci_6 // toto omezeni zrusi vypisy nekterych textovych hodnot pres linku RS485 (elevace Slunce, elevace Mesice, osvetleni Mesice) Zrušené funkce ----------------------------- - Funkce pro test displeje nebo tříbarevné LED byla zrušena (příkaz "@T" přes sériovou linku). Funkce byla přesunuta do programu "test_hw.ino". - Funkce pro sken I2C sběrnice byla zrušena (příkaz "@-" přes sériovou linku). Funkce byla přesunuta do programu "test_hw.ino". - Zrušeno čidlo náklonu MPU6050. Od této verze už bude možné použít pouze čidlo náklonu s kompasem LSM303DLHC. ==================================================================== 2023-04-15 Nové funkce: ----------------------------- - Při použití čidla náklonu a azimutu LSM303DLHC přibyla do menu funkce "rA-dE" pro zadání rovníkových souřadnic (Ra / Dec), které se podle zadaných domácích souřadnic a aktuálního času přepočtou na místní azimut a elevaci. Mířením SQM na oblohu se pak na displeji zobrazuje úhlové přibližování k těmto zadaným souřadnicím. Při přesném zamíření (rozdíl pod 1,5°) se SQM rozpípá (pokud je akustický výstup povolený příkazem "@P"). - Do menu byla přidána funkce pro měření aktuálního napětí baterie ve voltech (menu "VoLtY"). Je to jen upřesnění informace, která je v normálním režimu hrubě zobrazována pomocí blikajících teček na displeji. - Doplněna funkce Data-Hold pro měření azimutu (tlačítko [dolu] "zmrazí" údaj na displeji). Opravy důležitých chyb: ----------------------------- - Při spuštění stopek hned při zapnutí (zapnutí SQM se stisknutým tlačítkem [OK]) se vnitřní stopky sice správně spustily, ale displej se neaktualizoval, takže na něm svítily nuly, nebo případné mezičasy po stisku tlačítka [nahoru]. - Když nebylo připojeno žádné čidlo ("#define senzor_nic") program nešel zkompilovat z důvodu chybějícího parametru ve funkci "teplota(boolean korekce)". - Zapomenutá konstanta "znak_u" v angické verzi, která neumožnila kompilaci. - V angické verzi jsem zapomněl rozšířit hlavičku při výpisech o sloupec "azimut" (azm). Anglická verze ale stejně ještě není kompletně přeložená. Nevýznamné opravy / úpravy: ----------------------------- - Vylepšení listování v menu a zadávání hodnot parametrů pomocí stisku tlačítek [nahoru] a [dolu]. Krátký stisk (pod 1 sekundu) přidá (/ubere) jedničku, nebo přepne o jednu položku v menu. Delší stisk (do 5 sekund) přidává (/ubírá) jedničku automaticky, ale pomalu (v menu listuje pomalu). Stisk, který trvá déle než 5 sekund přidává (/ubírá) jedničku automaticky a rychle (v menu se to neprojeví, protože do 5 sekund se prolistuje celé). - Před nastavením defaultních parametrů při zapnutí se všemi stisknutými tlačítky se zobrazí výstražné zaplňování displeje pomlčkami. Čas nutného držení byl prodložen z 5 sekund na 10. - Úprava kódu pro jednodušší přepínání "Corr" a "noCor" při měření průběžného jasu z menu. Původní přepínání současným stiskem tlačítek [nahoru] i [dolu] způsobovalo často nechtěnou změnu typu měření "Luxmetr" / "SQM". Nově se "Corr" a "noCor" přepíná také stiskem obou tlačítek, ale jen při změně typu měření (jen když je zobrazen nápis "LuXM" nebo "SqM"). - Změny nápisů pro elevaci Slunce a Měsice a osvětlení Měsíce na displeji (původní "S", "M" a "o" nahrazeno za "SE.", "ME." a "Mo."). Nápisy pro azimuty zůstávají "SA." a "MA.", takže je to teď přehlednější. - Pročištění kódu, aby kompilátor nehlásil žádná varování: - vymazání zapomenutých nepoužitých proměnných (warning: unused variable '...' / warning: variable '...' set but not used) - vyřešení varování ohledně neshod signed/unsigned rozsahů proměnných (warning: comparison between signed and unsigned integer expressions) - některé proměnné neměly nastavenou počáteční hodnotu - ta se například nastavovala až v nějaké podmínce (warning: '...' may be used uninitialized in this function) - doplnění závorek (warning: suggest parentheses around comparison in operand of '&') - úpravy komentářů - Úpravy pro snadnější začlenění neveřejé verze s rozšířením o režim "R30s". - Protože už se při použití modulu kompasu kód rozrostl na takovou úroveň, že jsem se nebezpečně přiblížil k plnému zaplnění PROGMEM (128kB), došlo k úpravě některých textů a tím ke zmenšení programu. Například: - Několik podobných textů "Vstup mimo rozsah ..." a "Chyba v zadání ..." bylo sloučeno do společného textu. - Neobsazené "rezervní" textové pozice (pozůstatky z prvních verzí programu) byly zrušeny. - Opakující se texty byly nahrazeny jedním konstantním řetězcem. Ještě je tam prostor pro další zmenšování programu, ale nechtěl jsem to přehnat, aby se neztratila přehlednost. Po provedených úpravách se zapnutým kompasem: "Projekt zabírá 124012 bytů (94%) úložného místa pro program. Maximum je 131072 bytů." ==================================================================== 2023-02-18 Opravy důležitých chyb: ----------------------------- - Došlo k přeindexování nápisů "Leto" a "Zima", takže se v menu v položce "Zona" zobrazovaly špatné texty ("CoMPA" a " "). ==================================================================== 2023-02-10 Nové funkce: ----------------------------- - Místo náklonoměru MPU6050 je možné od této verze použít modul LSM303DLHC (kompas a náklonoměr v jednom pouzdře). Ke každému záznamu se tak může přidat i azimut namíření čidla osvětlení. Magnetické čidlo (kompas) ale dost ovlivňují okolní kovové předměty, takže je změřený azimut spíš jen orientační. Původní náklonoměr MPU6050 zůstává stále volitelnou součástí programu, dále ale už nebude podporován a vylepšován. - V souvislosti s doplněním modulu LSM303DLHC byla do menu přidána i položka "Kompas" ("CoMPA"), pomocí které je možné zobrazovat azimut a provádět kalibraci magnetometru. Postup kalibrace magnetometru je podobný kalibraci kompasu v mobilu. Proces kalibrace se spouští 2 sekundy dlouhým stiskem tlačítka [nahoru] při zobrazení azimutu. Pak se otáčením krabičky do všech směrů hledají minima a maxima (extrémy) magnetické síly ve všech osách. Každý nalezený extrém nastavuje časový odpočet na 10 sekund. Tento odpočet se zobrazuje na displeji. Když se během 10-sekundovém odpočtu při otáčení nenajde v žádné ose ani jeden extrém, kalibrace se automaticky ukončí. Dojde ke kontrole naměřených hodnot a pokud jsou rozdíly v extrémech dostatečné, zapíší se do EEPROM. Při nedostatečných rozdílech extrémů v libovolné ose končí proces kalibrace chybou ("Err-C") a v EEPROM zůstávají poslední funkční hodnoty. Kalibraci je možné předčasně ukončit stiskem tlačítka [OK] během 10-sekundového odpočtu. V tom případě proces končí vynucenou chybou "Err-C" a kalibrační hodnoty zůstanou původní. - Nové čidlo LSM303DLHC má pevně předepsané umístění (nalepení na obvod pro řízení displeje TM1637 - fotografie v návodu). Kvůli silnému magnetickému poli ho není možné nalepit poblíž pískáku. Výhodou je pak ale jednodušší kalibrace náklonu. - Při funkci dvouosé vodováhy dochází automaticky k volbě horizontální nebo vertikální verze vodováhy. Není už třeba ručně volit správný typ vodováhy. - Funkce zobrazení náklonu a vodováhy při použití nového modulu LSM303DLHC byla doplněna o signalizaci nestabilního měření. Při rychlé změně náklonu se na displeji rozsvítí desetinné tečky. Hodnota náklonu se sice zobrazí, ale může být nepřesná. Obvykle v tom případě stačí počkat na zprůměrování dalšího balíku vzorků. Toto vylepšení se netýká starého modulu MPU6050 - tam je stabilita měření zajišťována delším průměrováním. - Kvůli uložení kalibračních hodnot magnetometru bylo nutné uvolnit trochu místa v EEPROM. Záznamy se proto začnou ukládat až od adresy 700 (původně 600). S tím souvisí nutnost provedení Hard Formátu a nového nasatvení defaultních parametrů. Kalibrace světla a teploty zůstává zachována. - Doplněna funkce jednoduchého rychlého luxmetru. Spustí se, když je v menu zvolená položka "Jas" a přidrží se tlačítko [nahoru]. (Protože měření plošného jasu trvá delší dobu, musí se tlačítko přidržet déle, než se měření plošného jasu dokončí). Zpátky do zobrazení plošného jasu se vrátí tlačítkem [dolu]. Luxmetr není přesný, ale může například sloužit alespoň pro hrubé porovnání, které pracovní místo je osvětlené lépe. Kalibrace je možná porovnáním se skutečným luxmetrem a vložením tří konstant do přepočítávacího vzorce přes sériovou linku (popsáno v návodu). - Doplněno akustické varováni na pokles napětí baterie. V případě, že se na displeji rozbliká další tečka, která signalizuje pokles napětí pod další nastavenou mez, přístroj varovně bzukne. Toto bzuknutí není možné vypnout ani funkcí "@P", která vypíná ostatní zvuky. - Při průběžném zobrazení hodin a minut (funkce "Ho-Mi") je možné tlačíkem [dolu] přepnout na styl zobrazení "Mi-Se" (minuty a sekundy). Zpátky na styl "Ho-Mi" se přepne tlačítkem [nahoru]. - Dlouhé operace formátování ("#FH" a "#FS") je možné předčasně ukončit stiskem tlačítka [OK] (alespoň na 2 sekundy). - Na žádost o adresu a index posledního záznamu v EEPROM (přijatou přes linku RS485) byla do odpovědi doplněna informace o délce záznamu. příklad žádosti: 01, 0D, 00, 00, 00, 00, 00, 00, 00, 00, 00, 00, F2 příklad odpovědi: 01, 0D, 00, 04, 00, 03, 28, 24, C3 (index = 0x0004; adresa = 0x000328 ; délka záznamu = 0x24) Opravy důležitých chyb: ----------------------------- - Oprava špatně definovaného čidla DHT22. - Oprava ukládání náklonu při stisku bočního tlačítka. Původně se náklon ukládal napevno do posledních dvou bajtů každého záznamu, ale po rozšíření o ukládání polohy Slunce a Měsíce jsem zapomněl adresy posunout. - Oprava výpisu systémových informací (ve výpisu "ukladat ... - poloha Slun. a Mes.") se zobrazoval stav ukládání náklonu. - Oprava chyby výpisu posledního záznamu (funkce "rp") pokud k němu došlo okamžitě po formátování EEPROM a žádný poslední záznam tedy neexistoval. Nevýznamné opravy / úpravy: ----------------------------- - Oprava zobrazení čísel na displeji při formátování a delších výpisech záznamů. Pokud bylo například spuštěno formátování EEPROM v okamžiku, kdy byl na displeji zobrazen třeba náklon, zůstala na displeji svítit jedna desetinná tečka. - Po editaci viditelných / neviditelných položek menu (po závěrečném dlouhém stisku tlačítka [OK]) se místo 5 pomlček zobrazí nápis "SAVE". ==================================================================== 2022-12-17 - Doplněny astronomické výpočty polohy Slunce a Měsíce a stav osvětlení Měsíce (fáze 0% až 99%). Elevace Slunce a Měsíce a jeho stav osvětlení se mohou kromě zobrazení na displeji také zapisovat ke každému záznamu. Azimuty je možné jen zobrazit na displeji (ty se k záznamům nepřidávají). - V souvislosti s astronomickými výpočty přibyla možnost nastavení "domácích" zeměpisných souřadnic i časové zóny (včetně textové zkratky zóny) - přes sériovou linku. Program už tedy není omezen pouze na SEČ/SELČ, ale dá se používat téměř celosvětově - zatím jsem neřešil posuny časových zón o části hodin (Nepál, Indie, Afghanistán ...). Není nutné zadávat souřadnice přesně, protože azimuty a elevace se stejně zaokrouhlují na celé stupně (pro ČR tak dostačuje 50°sš / 15°vd). - Možnost vypnutí nepoužívaných položek v menu speciálním hmatem při vypnutém SQM: držet tlačítko nahoru -->> stisknout a držet boční tlačítko (objeví se nápis "MEnu ") -->> zapnout napájení -->> uvolnit obě tlačítka Pak je možné listováním nahoru a dolu vybírat položky a krátkým stiskem tlačítka OK přepínat jejich viditelnost v menu. (Položky, které mají být viditelné, svítí vyšším jasem. Neviditelné položky svítí slabě.) Dlouhý stisk OK ukončí nastavení. - Do menu doplněna funkce časového odpočtu (alarm / budík). Odpočet je možné nastavit v intervalu od 1 minuty do 99 hodin 59 minut. Po uplynutí nastaveného času začne SQM hlasitě pípat. Vypnutí pípání je pak možné tlačítkem (nahoru/dolu/OK). Trvání pípání je omezeno na maximálně 2 minuty - pak už se bude jen zobrazovat nápis "ALArM" na displeji. Pokud je v době nastaveného alarmu SQM vypnuté, spustí se alarm při dalším zapnutí. Aktivní odpočet se zobrazuje v systémových informacích (příkaz "i" přes USB linku). - Program od této verze předpokládá, že bude použita deska s napěťovou referencí 1,8V na pinu PB0. Pokud používáte starší desku (SQM-BAS1), zakomentujte si (nebo smažte) řádku 76 v souboru "hlavni.ino": // #define verzePCB2 (Jestli jste používali novější desku (SQM-BAS2, nebo SQM-BAS3) se staršími verzemi programů, nefungovalo rozblikání tečky při poklesu napětí baterie pod 5V) - Oprava výpočtu intervalu mezi dvěma seřízeními hodin při ručním zadávání času (přes sériovou linku). Byla tam chyba se zápornými čísly (když byl nově zadávaný čas nižší než čas, který už byl uložený v RTC). - Do systémových informací byly přidány i domácí zeměpisné souřadnice a zkratka časové zóny byla doplněna i o posun v hodinách proti UTC. - Přes komunikaci RS485 je nově možné získat i informace o náklonu, GEO souřadnicích, elevacích Slunce a Měsíce a stavu osvětlení Měsíce. - Při příkazu "@G" bylo sjednoceno porovnání časů mezi RTC a GPS na UTC (už se nepřepočítává na lokální čas - jak to bylo zavedeno ve verzi 2022-10-27) - Všechny výskyty označení časové zóny "GMT" byly nahrazeny přesnější zkratkou "UTC". - VZHLEDEM K VÝZNAMNÝM ZMĚNÁM V ZAZNAMENÁVANÝCH DATECH JE NUTNÉ PROVÉST "HARD FORMÁT" EEPROM A NOVÉ NASTAVENÍ DEFAULTNÍCH PARAMETRŮ! Příkazy "#FH" a "@DP". Kalibrace světla a teploty může zůstat původní. ==================================================================== 2022-10-28 - OPRAVENO: První záznam časového razítka neukládal správný náklon (čidlo náklonu se inicializovalo až po záznamu časového razítka). - Doplněna nezdokumentovaná servisní funkce pro výpis jednoho záznamu z EEPROM v HEX formátu ("@* nnnn" kde nnnn je adresa prvního bajtu) příklad výpisu pro následující záznam: pol. ; EEPROM ; sek_1970 ; datum ; cas ; dvt; zona ; jas ; jas ;adr.;cid.; pozn. ; stab_jas ; infra ; full ; [ms]; citl. ;teplota; tep.'C ;vlhkost; vlh. % ; tlak ; GEO_lat ; GEO_long ; ALT ; naklon 00023 ; 001282 ; 1666948728 ; 28.10.2022 ; 09:18:48 ; Pa ; SELC ; 08520 ; 08,520 ; 01 ; 01 ; tl_UP ; STABIL ; 01567 ; 04803 ; 600 ; 25x ; 07077 ; +20,77 ; 05379 ; 053,79 ; 096867 ; +49,444662 ; +014,366643 ; +0527 ; -001,9 adr. [1282]: 0x83, 0x63, 0x5B, 0x9E, 0x78, 0x21, 0x48, 0x19, 0x06, 0x1F, 0x12, 0xC3, 0x15, 0x1B, 0xA5, 0x15, 0x03, 0x90, 0x03, 0x08, 0x4F, 0xC1, 0xB6, 0x0B, 0x95, 0xCC, 0xB3, 0x04, 0x03, 0x26, 0xFD ==================================================================== 2022-10-27 - Při použití funkce "rh n" (vypsat záznamy za posledních 'n' hodin do sériové linky) se nevypisovaly záznamy stopek - konkrétně záznamy "STOP" a "LAP". Od této verze se už vypisují správně. Navíc byly v této funkci zrušeny výpisy SOFT formátovaných starých záznamů. - V záznamech stopek jsem zapomněl vymazat sloupec "náklon", takže se tam zobrazovaly nesmysly (ve stopkách se náklon neměří). - Do informací o GPS (funkce "@G") bylo přidáno přehledné porovnání času v RTC (lokální s autokorekcí) a času GPS (UTC): GPS date time (UTC): 27.10.2022 20:18:17 RTC date time (LOC): 27.10.2022 22:18:16 Ct ==================================================================== 2022-10-15 - Doplněna možnost měřit náklon čidlem MPU-6050. Defaulně zakázáno, pro zprovoznění je nutno odkomentovat řádku 21 v souboru "hlavni.ino": #define naklonomer SQM se pak dá použít jako vodováha například při ustavování dalekohledu. Pokud je čidlo MPU-6050 připojeno a povoleno, je možné ukládat hodnotu náklonu ke každému záznamu. Podrobný popis včetně kalibrace náklonoměru je uveden v návodu. ==================================================================== 2022-06-13 - Doplněna funkce pro výpis záznamů za posledních xxx hodin. Například všechny záznamy za poslední dva dny se vypíší příkazem "rh 48" Pokud se zadá jen "rh" bez čísla (nebo "rh 0"), vypíší se záznamy za posledních 24 hodin. Tím pádem už skoro nemá význam původní funkce "r" pro výpis posledních 100 záznamů. Zatím ale zůstává zachována. - Oprava nezdokumentované funkce pro výpis všech záznamů včetně smazaných (příkaz "rz 65532"). ==================================================================== 2022-02-05 - POZOR: Tato verze obsahuje zásadní změny, které vyžadují HARD formát EEPROM (funkce "#FH") a nové nastavení defaultních parametrů (funkce "@DP"). Kalibrační tabulky pro světlo a teplotu mohou zůstat beze změn. - Ve výpisu informací o GPS modulu se navíc zobrazují i poslední dvě přijaté NMEA zprávy (GxGGA a GxRMC) - Oprava zobrazení HDoP při ztrátě signálu. Původně se při tomto stavu zobrazovalo HDoP jako "0.00" (to by ale správně znamenalo ideální přesnost). Nově se zobrazuje: "99.99 (Err)". - Velké opravy autokalibrace času (mimo jiné jsem tam měl opačné znaménko u doplňované sekundy, takže se v předchozích verzích chyba RTC ještě přičítala). - Při nastavení času přes GPS se mohou do speciálního souboru na kartě zapisovat informace o přesnosti vnitřního RTC. Ukládají se rozdíly mezi GPS časem a neupraveným časem v RTC a vypočtené korekce. Slouží to jen pro dlouhodobé testování stability vnitřního RTC. Funkci je možné vypnout nebo zapnout příkazem "@/" zadaným přes sériovou linku. Výpis souboru z SD karty do sériové linky je možné provést funkcí "@>" - karta se tak nemusí vytahovat a strkat do PC. (Díky této funkci jsem po půl roce přišel na to že mám opačné znaménko u doplňované sekundy.) - Při krátkém intervalu mezi seřízeními času přes GPS se už neprovádí mazání časových kalibračních konstant - jen se použijí ty dřívější. V předchozích verzích se při každém měření světla se zapnutou GPS zrušila i autokalibrace a pro nové nastavení bylo nutné provést seřízení po několika dnech. - Nová položka v menu: STAN Při nezasunutém modulu GPS je možné zvolit jedno z pěti předdefinovaných pozorovacích stanovišť. Název vybraného stanoviště se ukládá místo GPS souřadnic do CSV souborů na kartě. (editace stanovišť se provádí přes sériovou linku) - Možnost úplného vypnutí vnitřního pípáku příkazem "@P" přes sériovou linku. Informace o aktuálním stavu dostupné ve výpisu systémových informací (příkaz "i" přes sériovou linku). - Úpravy komunikace I2C s GPS modulem. (Při zasunutí modulu GPS za chodu mohlo občas dojít k zaseknutí I2C komunikace a tím celého SQM.) - Ve výpisu detailních informací o GPS (funkce "@G") se změnil popis "Time_Switch:" na "Time_SET", který lépe odpovídá funkci. Položka nezobrazuje fyzické přepnutí přepínače, ale schopnost nastavit čas v RTC (musí být přepnuto a zároveň signál). - Oprava automatického ukončení menu po 5 minutách nečinnosti. (Od verze 2021-10-16 byla doplněna do menu pauza, která časování několikanásobně prodloužila. Všimnul jsem si toho až teď.) - Opravy přímo zadaných I2C adres GPS modulu na konstantu "I2C_ADDR_GPS". - Spousty překlepů a nesmyslů v komentářích. (Jde jen o úpravy zdrojáku - na funkci to nemá žádný vliv.) ==================================================================== 2021-11-12 - Při dlouhém držení (3 sek.) bočního tlačítka se po záznamu časové značky zobrazí ještě aktuální čas ve formátu "HH-MM" ==================================================================== 2021-10-16 - Další pokus o ošetření zakmitávání tlačítek při listování v menu. Už to skoro vypadá, že je to nějaký mechanický problém tlačítek. (Při dlouhém stisku dochází občas - tak 1x z 20 pokusů - k milisekundovým výpadkům spojení kontaktů.) - Jednodušší procházení položek menu a nastavení číslených parametrů. V předchozích verzích programu bylo nutné při procházení menu každou položku "proklikat" opakovanými stisky tlačítek nahoru nebo dolu. Od této verze stačí tlačítko přidržet a asi po sekundě dojde k automatickému zrychlenému procházení menu. Stejně to funguje i při nastavování číselných parametrů: Při dlouhém stisku tlačítka nahoru (dolu) se asi po sekundě začne číslo automaticky zvyšovat (snižovat). - Automat se nebude spouštět hned při startu. (Nedalo se vstoupit do menu a okamžitě ho vypnout nebo něco rychle přenastavit. Muselo se čekat až proběhne dlouhé měření.) - Ve funkci LED lampičky už nepůjde nastavit jas na 0. Vždycky bude svítit minimálně jedna sedmisegmentovka. Úplné zhasínání a následné rozsvěcení pomocí tlačítka OK zůstává. Původní verze, kdy šlo snížit jas na úroveň, ve které nesvítila žádná sedmisegmentovka, mohla vyvolávat zmatek při ovládání. (Displej byl zhasnutý, tlačítko OK se zdálo být nefunkční - přepínalo mezi zhasnutým displejem a displejem na kterém nesvítilo nic.) - Oprava na pevno odečítané adresy prvního záznamu (číslo 500) na definovanou konstantu ('min_EEPROM'). (Jde jen o úpravu zdrojáku - na funkci to nemá žádný vliv.) ==================================================================== 2021-09-18 - Doplněna funkce pro dočasné blokování bočního tlačítka. (při převážení SQM v batohu se mi nasnímaly spousty nechtěných časových značek, tak jsem dodělal softwarové blokování bočního tlačítka) Blokování se provádí držením tlačítka DOLU a následným zapnutím napájení. K odblokování dojde automaticky při normálním zapnutí napájení. - Lepší odrušení zákmitů tlačítek. (místo požadovaného vstupu do menu přes OK tlačítko se občas stávalo, že se spustilo měření jasu) - Pípnutí při časové značce (po stisku bočního tlačítka) se ozve až po kompletním uložení do EEPROM a případně i na kartu. Stávalo se, že se při velmi krátkém stisku bočního tlačítka nestačil záznam uložit. To je sice neopravitelné, protože uvolnění tlačítka odpojuje napájení, ale pípnutí signalizuje, že je už všechno v pořádku a že je možné tlačítko uvolnit. - Přepracování listování v menu. Do teď bylo menu "zadrátované" napevno. Po změně se menu generuje dynamicky, takže je možné snadněji přidávat a ubírat položky. Na venek se ale tato změna zatím neprojevuje. Je to jen příprava pro speciální funkce. - Oprava několika popisků v anglické verzi. (anglická verze ale stejně ještě není kompletně přeložená) - Oprava testu zasunutí přídavného HW - příprava na speciální funkce (například režim "r30s") (změna I2C adresy externí EEPROM z 82 na 87 v souboru eeprom.ino) - Opravy překlepů v komentářích - Změna verze programu. (soubor: hlavni.ino) ==================================================================== 2021-07-08 - Opravené zobrazování záporných teplot na displeji v režimu průběžného zobrazování teplot. (soubor: displej.ino - podprogram: zobraz_cislo) - Změna verze programu. (soubor: hlavni.ino) ==================================================================== 2021-06-18 - První zveřejněná verze ====================================================================